home *** CD-ROM | disk | FTP | other *** search
/ Get a Grip Tennis by Wilson / Get a Grip Tennis by Wilson.iso / pc / main.dxr / 00005_General Button Control.ls < prev    next >
Encoding:
Text File  |  2003-08-12  |  3.5 KB  |  87 lines

  1. property pMySprite, pMyMember, pCurrentSpriteCursor, pMouseOver, pMouseDown, pMouseEnterSound, pMouseDownSound, pEnterSoundFlag, pDownSoundFlag, pSoundChannel, pCursorFlag, pCursorMO, pCursorMD, pMarker, pProcessMarker, pMUScript, pProcessRollovers
  2.  
  3. on beginSprite me
  4.   pMySprite = me.spriteNum
  5.   pMyMember = sprite(pMySprite).member
  6.   pCurrentSpriteCursor = sprite(pMySprite).cursor
  7. end
  8.  
  9. on mouseEnter me
  10.   if pProcessRollovers then
  11.     sprite(pMySprite).member = pMouseOver
  12.   end if
  13.   if pEnterSoundFlag then
  14.     puppetSound(pSoundChannel, pMouseEnterSound)
  15.   end if
  16.   if pCursorFlag then
  17.     sprite(pMySprite).cursor = pCursorMO
  18.   end if
  19. end
  20.  
  21. on mouseLeave me
  22.   if pProcessRollovers then
  23.     sprite(pMySprite).member = pMyMember
  24.   end if
  25. end
  26.  
  27. on mouseDown me
  28.   if pProcessRollovers then
  29.     sprite(pMySprite).member = pMouseDown
  30.   end if
  31.   if pDownSoundFlag then
  32.     puppetSound(pSoundChannel, pMouseDownSound)
  33.   end if
  34.   if pCursorFlag then
  35.     sprite(pMySprite).cursor = pCursorMD
  36.   end if
  37. end
  38.  
  39. on mouseUp me
  40.   if pCursorFlag and pProcessMarker then
  41.     sprite(pMySprite).cursor = pCurrentSpriteCursor
  42.     go(pMarker)
  43.   else
  44.     if pProcessMarker then
  45.       go(pMarker)
  46.     else
  47.       if pCursorFlag then
  48.         sprite(pMySprite).cursor = pCursorMO
  49.       end if
  50.     end if
  51.   end if
  52.   do(pMUScript)
  53. end
  54.  
  55. on getPropertyDescriptionList
  56.   pdlist = [:]
  57.   thisMember = sprite(the currentSpriteNum).member
  58.   thisMemberNum = thisMember.number
  59.   overMem = thisMember
  60.   downMem = thisMember
  61.   if member(thisMemberNum + 1).type = #bitmap then
  62.     overMem = member(thisMemberNum + 1)
  63.   end if
  64.   if member(thisMemberNum + 2).type = #bitmap then
  65.     downMem = member(thisMemberNum + 2)
  66.   end if
  67.   addProp(pdlist, #pProcessRollovers, [#comment: "process rollovers: ", #format: #boolean, #default: 1])
  68.   addProp(pdlist, #pMouseOver, [#comment: "mouseOver image: ", #format: #bitmap, #default: overMem])
  69.   addProp(pdlist, #pMouseDown, [#comment: "mouseDown image: ", #format: #bitmap, #default: downMem])
  70.   addProp(pdlist, #pProcessMarker, [#comment: "process jump to marker: ", #format: #boolean, #default: 1])
  71.   addProp(pdlist, #pMarker, [#comment: "which marker on mouseUp: ", #format: #marker, #default: #next])
  72.   addProp(pdlist, #pEnterSoundFlag, [#comment: "play mouseEnter sound: ", #format: #boolean, #default: 0])
  73.   addProp(pdlist, #pMouseEnterSound, [#comment: "which sound: ", #format: #sound, #default: #none])
  74.   addProp(pdlist, #pDownSoundFlag, [#comment: "play mouseDown sound: ", #format: #boolean, #default: 0])
  75.   addProp(pdlist, #pMouseDownSound, [#comment: "which sound: ", #format: #sound, #default: #none])
  76.   addProp(pdlist, #pSoundChannel, [#comment: "sound channel: ", #format: #integer, #default: 2, #range: [#min: 1, #max: 8]])
  77.   addProp(pdlist, #pCursorFlag, [#comment: "change cursor: ", #format: #boolean, #default: 1])
  78.   addProp(pdlist, #pCursorMO, [#comment: "mouseOver cursor: ", #format: #cursor, #default: 280])
  79.   addProp(pdlist, #pCursorMD, [#comment: "mouseDown cursor: ", #format: #cursor, #default: 280])
  80.   addProp(pdlist, #pMUScript, [#comment: "mouseUp command: ", #format: #string, #default: EMPTY])
  81.   return pdlist
  82. end
  83.  
  84. on getBehaviorDescription
  85.   return "A nice general button control.  Developer has the ability to set mouseOver and mouseDown states for the button, which marker to go to, whether or not to play a sound on mouseEnter and/or mouseDown, and if the cursor should change on mouseOver and mouseDown." & RETURN & RETURN & "Hilite states must be bitmaps (not SWFs)." & RETURN & "Sounds must be internal (not SWAs)." & RETURN & "Cursors must be D7+ cursors (not custom)."
  86. end
  87.